package com.sorhis.utils;

import cn.hutool.core.collection.CollectionUtil;
import com.sorhis.vo.SysMenuTableVO;
import com.sorhis.vo.SysMenuTreeVO;
import lombok.extern.slf4j.Slf4j;

import java.util.ArrayList;
import java.util.List;

/**
 * 类说明:常用工具类
 */
@Slf4j
public class Tools {

    // 递归
    public static List<SysMenuTreeVO> recursionForMenuTree(List<SysMenuTreeVO> lists, String parentId) {
        List<SysMenuTreeVO> result = new ArrayList<>();
        for (SysMenuTreeVO sysMenus : lists) {
            if (sysMenus.getParentId().equals(parentId)) {
                List<SysMenuTreeVO> array = recursionForMenuTree(lists, sysMenus.getId());
                if (array.size() != 0) {
                    sysMenus.setChildren(array);
                }
                result.add(sysMenus);
            }
        }
        return result;
    }

    // 递归
    public static List<SysMenuTableVO> recursionForMenuList(List<SysMenuTableVO> lists, String parentId) {
        List<SysMenuTableVO> result = new ArrayList<>();
        for (SysMenuTableVO sysMenus : lists) {
            if (sysMenus.getParentId().equals(parentId)) {
                List<SysMenuTableVO> array = recursionForMenuList(lists, sysMenus.getId());
                if (array.size() != 0) {
                    sysMenus.setChildren(array);
                }
                result.add(sysMenus);
            }
        }
        return result;
    }
}
